package com.project.mapper;

import com.project.bean.UserBean;
import org.apache.ibatis.annotations.*;

import java.util.List;

/***
 * 用户mapper接口
 */
@Mapper
public interface IUserMapper {
    /***
     * 用户登陆
     * @param name 账户
     * @param pwd 密码
     * @return 用户
     */
    @Select("select * from t_user where u_name=#{name} and u_pwd=#{pwd}")
    @ResultMap("userMap")
    public UserBean logUser(@Param("name") String name, @Param("pwd") String pwd);
    /***
     * 添加用户
     * @param user 用户
     */
    @Insert("INSERT INTO t_user(u_name,u_pwd,u_grade,u_reallyName) values(#{name},#{pwd},#{grade},#{reallyName})")
    public void addUser(UserBean user);

    /***
     * 按id删除用户
     * @param id 用户id
     */
    @Delete("delete from t_user where t_userId=#{id}")
    public void delUser(int id);

    /***
     * 改密码
     * @param id 用户id
     * @param pwd 密码
     */
    @Update("update t_user set u_pwd=#{pwd}  where t_userId=#{id}")
    public void updatePwd(@Param("id")int id,@Param("pwd")String pwd);

    /**
     * 按id修改用户权限
     * @param id 用户id
     * @param grade 修改等级
     */
    @Update("update t_user set u_grade=#{grade}  where t_userId=#{id}")
    public void updateUser(@Param("id") int id,@Param("grade") String grade);

    /**
     * 按用户等级查询用户信息
     * @param grade 等级
     * @return 用户集合
     */
    @Select("select * from t_user where u_grade=#{grade}")
    @ResultMap("userMap")
    public List<UserBean> findByGrade(String grade);

    /***
     * 按id查询用户
     * @param id
     * @return
     */
    @Select("select * from t_user where t_userId=#{id}")
    @ResultMap("userMap")
    public UserBean findById(int id);
}
